In addition to providing printed telephone directories, telephone companies provide information services to their subscribers. The services may include stock quotes, directory assistance and many others. In most of these applications, when the information requested can be expressed as a number or number sequence, the user is required to enter his request via a touch tone telephone. This is often aggravating for the user since he is usually obliged to make repetitive entries in order to obtain a single answer. This situation becomes even more difficult when the input information is a word or phrase. In these situations, the involvement of a human operator may be required to complete the desired task.
Because telephone companies are likely to handle a very large number of calls per year, the associated labour costs are very significant. Consequently, telephone companies and telephone equipment manufacturers have devoted considerable efforts to the development of systems that reduce the labour costs associated with providing information services on the telephone network. These efforts comprise the development of sophisticated speech processing and recognition systems that can be used in the context of telephone networks.
In typical speech recognition systems, the user enters his request using isolated word, connected word or continuous speech via a microphone or telephone set. The request may be a name, a city or any other type of information for which either a function is to be performed or information is to be supplied. If valid speech is detected, the speech recognition layer of the system is invoked in an attempt to recognize the unknown utterance. Typically entries in a speech recognition dictionary are scored in order to determine the most likely match to the utterance.
In many speech applications, users may want to augment the vocabulary of the speech recognition dictionary by simply providing sample utterances of a new word. For example, the user of a voice activated dialing system may wish to add a new name and associated telephone number to his directory. In order to achieve this, the user repeats the name he wishes to add several times (typically 2 or 3 times) followed by the telephone number to be associated with the name. Based on these sample training utterances a new entry is created in the speech recognition dictionary and used for recognition purposes at a later time.
In many speech applications, particularly in telephone speech recognition applications such as voice activated dialing (VAD), it may be impossible or impractical to obtain the correct orthography for the new word from the user that he wishes to add to the dictionary. However, most approaches present in the prior art to augment a speech recognition dictionary require knowledge of the orthography of the new word to be added. For example, this is used in A. Asadi et al. "Automatic Modeling For Adding New Words To A Large Vocabulary Continuous Speech Recognition System", Proc. Of ICASSP'91, pp.305-308, 1991. The content of this document is incorporated herein by reference. Since the orthography cannot easily be obtained in telephone applications, these methods are not practical.
A common approach in generating the transcription for a new word is to obtain from the user a series of training utterances of the same word and decode each of the utterances separately. This approach generates a series of separate alternative acoustic sub-word representations each representation corresponding to different pronunciations of the same word. All these transcriptions are then stored in a speech recognition dictionary. Mathematically, this operation can be expressed as follows: ##EQU1## where T.sub.i is the transcription of the ith utterance, p is the number of training utterances, {Y.sub.1, Y.sub.2, Y.sub.3, . . . Y.sub.p } are the training utterances, T is the set of all possible transcriptions for any word and P(.vertline.) designates a conditional probability computation. A problem with this approach is that the computational coat of the recognition stage is very high since, for each word, the speech recognition system must score multiple entries in the dictionary, For a more detailed explanation, the reader is invited to consult R. Haeb-Umbach et al. "Automatic Transcription Of Unknown Words In A Speech Recognition System", Proc. Of ICASSP'95, pp.840-843, 1995 and N. Jain et al. "Creating Speaker-Specific Phonetic Templates With A Speaker-Independent Phonetic Recognizer: Implications For Voice Dialing", Proc. ICASSP'96, pp.881-884, 1996. The content of these documents is hereby incorporated by reference.
Another approach is to take the series of separate alternative transcriptions of the new word, generated as described in equation 1, and then select a single transcription which best represents all the utterances. Essentially, a transcription T.sub.best is chosen which is the most likely to have produced all utterances {Y.sub.1, Y.sub.2, Y.sub.3, . . . Y.sub.p }. Mathematically, this operation can be expressed as follows: ##EQU2##
For a more detailed explanation, the reader is invited to consult R. Haeb-Umbach et al. "Automatic Transcription Of Unknown Words In A Speech Recognition System", Proc. Of ICASSP'95, pp.840-843, 1995 whose content is incorporated by reference Choosing a single transcription for the new word reduces the memory space required for the dictionary and reduces the amount of time necessary to score the dictionary. However, the selected transcription merely reflects the acoustic information in the utterance that originated the transcription, and disregards the acoustic information of the utterances associated with the transcriptions that where rejected during the selection process. Thus, there exists a need in the industry to refine the process of adding a new word to a speech recognition dictionary such as to obtain a more accurate representation for new entries and to reduce the computational costs at the recognition stage.